home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 10 / BBS In A Box Volume X (AMUG) (January 1994).bin / Files / Prog / U-Z / VideoToolBox.cpt / VideoToolboxSources / PlotXY.c < prev    next >
MacBinary  |  1993-02-22  |  4.0 KB  |  [TEXT/KAHL]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Mon Feb 22 23:46:29 1993, modified Mon Feb 22 23:46:29 1993, creator Think C, type ASCII, 3501 bytes "PlotXY.c" , at 0xe2d 382 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[KAHL]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 08 50 6c 6f 74 58 59 | 2e 63 00 00 00 00 00 00 |..PlotXY|.c......|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 01 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 0d ad 00 | 00 01 7e a7 af 5c a5 a7 |........|..~..\..|
|00000060| af 5c a5 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.\......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 4e 4f 00 00 |........|....NO..|
|00000080| 2f 2a 20 50 6c 6f 74 58 | 59 2e 63 0d 43 6f 70 79 |/* PlotX|Y.c.Copy|
|00000090| 72 69 67 68 74 20 a9 20 | 31 39 39 31 20 44 65 6e |right . |1991 Den|
|000000a0| 69 73 20 47 2e 20 50 65 | 6c 6c 69 0d 50 6c 6f 74 |is G. Pe|lli.Plot|
|000000b0| 58 59 20 70 6c 6f 74 73 | 20 67 72 61 70 68 73 2c |XY plots| graphs,|
|000000c0| 20 6f 6e 65 20 70 6f 69 | 6e 74 20 61 74 20 61 20 | one poi|nt at a |
|000000d0| 74 69 6d 65 2c 20 70 6f | 73 73 69 62 6c 79 20 69 |time, po|ssibly i|
|000000e0| 6e 74 65 72 6c 65 61 76 | 69 6e 67 20 6d 75 6c 74 |nterleav|ing mult|
|000000f0| 69 70 6c 65 20 67 72 61 | 70 68 73 2e 20 0d 54 68 |iple gra|phs. .Th|
|00000100| 65 20 75 73 65 72 20 6b | 65 65 70 73 20 61 20 50 |e user k|eeps a P|
|00000110| 6c 6f 74 58 59 53 74 79 | 6c 65 20 73 74 72 75 63 |lotXYSty|le struc|
|00000120| 74 75 72 65 20 61 73 73 | 6f 63 69 61 74 65 64 20 |ture ass|ociated |
|00000130| 77 69 74 68 20 65 61 63 | 68 20 63 75 72 76 65 2c |with eac|h curve,|
|00000140| 20 77 68 69 63 68 20 61 | 6c 6c 6f 77 73 0d 69 6e | which a|llows.in|
|00000150| 74 65 72 6c 65 61 76 69 | 6e 67 20 6f 66 20 70 6f |terleavi|ng of po|
|00000160| 69 6e 74 73 20 66 6f 72 | 20 73 65 76 65 72 61 6c |ints for| several|
|00000170| 20 63 75 72 76 65 73 2e | 20 54 68 69 73 20 69 73 | curves.| This is|
|00000180| 20 65 73 73 65 6e 74 69 | 61 6c 20 66 6f 72 20 6f | essenti|al for o|
|00000190| 6e 6c 69 6e 65 20 6d 6f | 6e 69 74 6f 72 69 6e 67 |nline mo|nitoring|
|000001a0| 2e 0d 0d 57 41 52 4e 49 | 4e 47 3a 20 49 27 76 65 |...WARNI|NG: I've|
|000001b0| 20 64 69 73 63 6f 76 65 | 72 65 64 20 74 68 61 74 | discove|red that|
|000001c0| 20 74 68 69 73 20 72 6f | 75 74 69 6e 65 20 6d 61 | this ro|utine ma|
|000001d0| 79 20 63 72 61 73 68 20 | 69 66 20 66 65 64 20 67 |y crash |if fed g|
|000001e0| 61 72 62 61 67 65 20 78 | 2c 79 20 63 6f 6f 72 64 |arbage x|,y coord|
|000001f0| 69 6e 61 74 65 73 0d 77 | 68 69 6c 65 20 64 61 73 |inates.w|hile das|
|00000200| 68 69 6e 67 20 69 73 20 | 6f 6e 2c 20 65 2e 67 2e |hing is |on, e.g.|
|00000210| 20 65 78 74 72 65 6d 65 | 6c 79 20 6c 61 72 67 65 | extreme|ly large|
|00000220| 20 6e 75 6d 62 65 72 73 | 2e 20 49 27 6d 20 6e 6f | numbers|. I'm no|
|00000230| 74 20 73 75 72 65 20 77 | 68 65 72 65 20 74 68 65 |t sure w|here the|
|00000240| 20 70 72 6f 62 6c 65 6d | 20 69 73 2e 20 0d 4f 76 | problem| is. .Ov|
|00000250| 65 72 66 6c 6f 77 73 20 | 73 68 6f 75 6c 64 6e 27 |erflows |shouldn'|
|00000260| 74 20 63 61 75 73 65 20 | 63 72 61 73 68 65 73 2e |t cause |crashes.|
|00000270| 0d 0d 48 49 53 54 4f 52 | 59 3a 0d 39 30 20 09 09 |..HISTOR|Y:.90 ..|
|00000280| 64 67 70 20 77 72 6f 74 | 65 20 69 74 2e 0d 33 2f |dgp wrot|e it..3/|
|00000290| 39 31 09 64 67 70 09 72 | 65 2d 72 65 77 72 6f 74 |91.dgp.r|e-rewrot|
|000002a0| 65 20 69 74 2c 20 61 64 | 64 69 6e 67 20 64 61 73 |e it, ad|ding das|
|000002b0| 68 69 6e 67 20 61 6e 64 | 20 73 79 6d 62 6f 6c 73 |hing and| symbols|
|000002c0| 2c 20 61 6e 64 20 6d 61 | 6b 69 6e 67 20 69 74 20 |, and ma|king it |
|000002d0| 72 65 2d 65 6e 74 72 61 | 6e 74 2e 0d 33 2f 31 38 |re-entra|nt..3/18|
|000002e0| 2f 39 31 09 64 67 70 09 | 72 65 70 6c 61 63 65 64 |/91.dgp.|replaced|
|000002f0| 20 66 6c 6f 61 74 69 6e | 67 20 70 6f 69 6e 74 20 | floatin|g point |
|00000300| 6d 61 74 68 20 62 79 20 | 66 69 78 65 64 20 70 6f |math by |fixed po|
|00000310| 69 6e 74 20 6d 61 74 68 | 2e 0d 09 09 09 6d 61 64 |int math|.....mad|
|00000320| 65 20 63 6f 6d 70 61 74 | 69 62 6c 65 20 77 69 74 |e compat|ible wit|
|00000330| 68 20 6f 72 69 67 69 6e | 61 6c 20 71 75 69 63 6b |h origin|al quick|
|00000340| 64 72 61 77 2e 0d 38 2f | 32 34 2f 39 31 09 64 67 |draw..8/|24/91.dg|
|00000350| 70 09 4d 61 64 65 20 63 | 6f 6d 70 61 74 69 62 6c |p.Made c|ompatibl|
|00000360| 65 20 77 69 74 68 20 54 | 48 49 4e 4b 20 43 20 35 |e with T|HINK C 5|
|00000370| 2e 30 2e 0d 31 32 2f 32 | 37 2f 39 31 20 64 67 70 |.0..12/2|7/91 dgp|
|00000380| 20 4d 61 64 65 20 64 61 | 73 68 69 6e 67 20 66 61 | Made da|shing fa|
|00000390| 73 74 65 72 20 62 79 20 | 6d 65 61 73 75 72 69 6e |ster by |measurin|
|000003a0| 67 20 70 61 74 68 20 6c | 65 6e 67 74 68 20 6d 6f |g path l|ength mo|
|000003b0| 64 75 6c 6f 20 74 68 65 | 20 64 61 73 68 69 6e 67 |dulo the| dashing|
|000003c0| 20 70 65 72 69 6f 64 2e | 0d 31 2f 32 35 2f 39 33 | period.|.1/25/93|
|000003d0| 20 64 67 70 20 72 65 6d | 6f 76 65 64 20 6f 62 73 | dgp rem|oved obs|
|000003e0| 6f 6c 65 74 65 20 73 75 | 70 70 6f 72 74 20 66 6f |olete su|pport fo|
|000003f0| 72 20 54 48 49 4e 4b 20 | 43 20 34 2e 0d 2a 2f 0d |r THINK |C 4..*/.|
|00000400| 23 69 6e 63 6c 75 64 65 | 20 22 56 69 64 65 6f 54 |#include| "VideoT|
|00000410| 6f 6f 6c 62 6f 78 2e 68 | 22 0d 0d 46 69 78 65 64 |oolbox.h|"..Fixed|
|00000420| 20 48 79 70 6f 74 65 6e | 75 73 65 46 28 6c 6f 6e | Hypoten|useF(lon|
|00000430| 67 20 62 61 73 65 2c 6c | 6f 6e 67 20 68 65 69 67 |g base,l|ong heig|
|00000440| 68 74 29 3b 0d 0d 46 69 | 78 65 64 20 48 79 70 6f |ht);..Fi|xed Hypo|
|00000450| 74 65 6e 75 73 65 46 28 | 6c 6f 6e 67 20 62 61 73 |tenuseF(|long bas|
|00000460| 65 2c 6c 6f 6e 67 20 68 | 65 69 67 68 74 29 0d 7b |e,long h|eight).{|
|00000470| 0d 09 62 61 73 65 2a 3d | 62 61 73 65 3b 0d 09 68 |..base*=|base;..h|
|00000480| 65 69 67 68 74 2a 3d 68 | 65 69 67 68 74 3b 0d 09 |eight*=h|eight;..|
|00000490| 72 65 74 75 72 6e 20 46 | 72 61 63 53 71 72 74 28 |return F|racSqrt(|
|000004a0| 62 61 73 65 2b 68 65 69 | 67 68 74 29 3c 3c 31 3b |base+hei|ght)<<1;|
|000004b0| 0d 7d 0d 0d 76 6f 69 64 | 20 50 6c 6f 74 58 59 28 |.}..void| PlotXY(|
|000004c0| 57 69 6e 64 6f 77 50 74 | 72 20 77 69 6e 64 6f 77 |WindowPt|r window|
|000004d0| 2c 64 6f 75 62 6c 65 20 | 78 2c 64 6f 75 62 6c 65 |,double |x,double|
|000004e0| 20 79 2c 50 6c 6f 74 58 | 59 53 74 79 6c 65 20 2a | y,PlotX|YStyle *|
|000004f0| 73 74 79 6c 65 29 0d 2f | 2a 0d 44 72 61 77 73 20 |style)./|*.Draws |
|00000500| 6c 69 6e 65 20 74 6f 20 | 70 6f 69 6e 74 20 78 2c |line to |point x,|
|00000510| 79 2c 20 77 68 65 72 65 | 20 77 69 6e 64 6f 77 20 |y, where| window |
|00000520| 69 73 20 6d 61 70 70 65 | 64 20 61 73 20 61 20 75 |is mappe|d as a u|
|00000530| 6e 69 74 20 73 71 75 61 | 72 65 2c 20 77 69 74 68 |nit squa|re, with|
|00000540| 20 6f 72 69 67 69 6e 0d | 61 74 20 6c 6f 77 65 72 | origin.|at lower|
|00000550| 20 6c 65 66 74 2e 20 0d | 2a 2f 0d 7b 0d 09 72 65 | left. .|*/.{..re|
|00000560| 67 69 73 74 65 72 20 50 | 6c 6f 74 58 59 53 74 79 |gister P|lotXYSty|
|00000570| 6c 65 20 2a 73 3b 0d 09 | 72 65 67 69 73 74 65 72 |le *s;..|register|
|00000580| 20 69 6e 74 20 69 3b 0d | 09 72 65 67 69 73 74 65 | int i;.|.registe|
|00000590| 72 20 73 68 6f 72 74 20 | 68 2c 76 2c 64 68 2c 64 |r short |h,v,dh,d|
|000005a0| 76 3b 0d 09 52 65 63 74 | 20 72 3b 0d 09 57 69 6e |v;..Rect| r;..Win|
|000005b0| 64 6f 77 50 74 72 20 6f | 6c 64 50 6f 72 74 3b 0d |dowPtr o|ldPort;.|
|000005c0| 09 50 65 6e 53 74 61 74 | 65 20 70 65 6e 53 74 61 |.PenStat|e penSta|
|000005d0| 74 65 3b 0d 09 50 61 74 | 74 65 72 6e 20 62 6c 61 |te;..Pat|tern bla|
|000005e0| 63 6b 50 61 74 74 65 72 | 6e 3d 7b 2d 31 2c 2d 31 |ckPatter|n={-1,-1|
|000005f0| 2c 2d 31 2c 2d 31 2c 2d | 31 2c 2d 31 2c 2d 31 2c |,-1,-1,-|1,-1,-1,|
|00000600| 2d 31 7d 3b 0d 09 42 6f | 6f 6c 65 61 6e 20 64 61 |-1};..Bo|olean da|
|00000610| 73 68 4f 6e 3b 0d 09 69 | 6e 74 20 64 61 73 68 45 |shOn;..i|nt dashE|
|00000620| 6c 65 6d 65 6e 74 73 3b | 0d 09 69 6e 74 20 64 61 |lements;|..int da|
|00000630| 73 68 50 65 72 69 6f 64 | 3b 0d 09 69 6e 74 20 64 |shPeriod|;..int d|
|00000640| 61 73 68 44 65 62 69 74 | 3b 0d 09 69 6e 74 20 6c |ashDebit|;..int l|
|00000650| 65 6e 67 74 68 2c 64 65 | 6c 74 61 3b 0d 09 46 69 |ength,de|lta;..Fi|
|00000660| 78 65 64 20 6c 65 6e 67 | 74 68 46 3b 0d 09 6c 6f |xed leng|thF;..lo|
|00000670| 6e 67 20 6f 6c 64 43 6f | 6c 6f 72 3b 0d 09 69 6e |ng oldCo|lor;..in|
|00000680| 74 20 64 61 73 68 69 6e | 67 50 65 72 69 6f 64 3b |t dashin|gPeriod;|
|00000690| 0d 09 0d 09 73 3d 73 74 | 79 6c 65 3b 0d 09 47 65 |....s=st|yle;..Ge|
|000006a0| 74 50 6f 72 74 28 26 6f | 6c 64 50 6f 72 74 29 3b |tPort(&o|ldPort);|
|000006b0| 0d 09 53 65 74 50 6f 72 | 74 28 77 69 6e 64 6f 77 |..SetPor|t(window|
|000006c0| 29 3b 0d 09 42 72 69 6e | 67 54 6f 46 72 6f 6e 74 |);..Brin|gToFront|
|000006d0| 28 77 69 6e 64 6f 77 29 | 3b 0d 09 47 65 74 50 65 |(window)|;..GetPe|
|000006e0| 6e 53 74 61 74 65 28 26 | 70 65 6e 53 74 61 74 65 |nState(&|penState|
|000006f0| 29 3b 0d 09 6f 6c 64 43 | 6f 6c 6f 72 3d 77 69 6e |);..oldC|olor=win|
|00000700| 64 6f 77 2d 3e 66 67 43 | 6f 6c 6f 72 3b 0d 09 46 |dow->fgC|olor;..F|
|00000710| 6f 72 65 43 6f 6c 6f 72 | 28 73 2d 3e 63 6f 6c 6f |oreColor|(s->colo|
|00000720| 72 29 3b 0d 09 50 65 6e | 53 69 7a 65 28 73 2d 3e |r);..Pen|Size(s->|
|00000730| 6c 69 6e 65 57 69 64 74 | 68 2c 73 2d 3e 6c 69 6e |lineWidt|h,s->lin|
|00000740| 65 57 69 64 74 68 29 3b | 0d 09 72 3d 77 69 6e 64 |eWidth);|..r=wind|
|00000750| 6f 77 2d 3e 70 6f 72 74 | 52 65 63 74 3b 0d 09 68 |ow->port|Rect;..h|
|00000760| 3d 28 72 2e 72 69 67 68 | 74 2d 72 2e 6c 65 66 74 |=(r.righ|t-r.left|
|00000770| 29 2a 78 3b 0d 09 76 3d | 28 72 2e 62 6f 74 74 6f |)*x;..v=|(r.botto|
|00000780| 6d 2d 72 2e 74 6f 70 29 | 2a 28 31 2e 30 2d 79 29 |m-r.top)|*(1.0-y)|
|00000790| 3b 0d 09 0d 09 69 66 28 | 21 73 2d 3e 63 6f 6e 74 |;....if(|!s->cont|
|000007a0| 69 6e 75 69 6e 67 29 7b | 0d 09 09 2f 2a 20 46 69 |inuing){|.../* Fi|
|000007b0| 72 73 74 20 70 6f 69 6e | 74 2c 20 6a 75 73 74 20 |rst poin|t, just |
|000007c0| 67 6f 20 74 68 65 72 65 | 20 2a 2f 0d 09 09 73 2d |go there| */...s-|
|000007d0| 3e 70 61 74 68 4c 65 6e | 67 74 68 46 3d 73 2d 3e |>pathLen|gthF=s->|
|000007e0| 64 61 73 68 4f 66 66 73 | 65 74 3c 3c 31 36 3b 0d |dashOffs|et<<16;.|
|000007f0| 09 09 73 2d 3e 68 3d 68 | 3b 0d 09 09 73 2d 3e 76 |..s->h=h|;...s->v|
|00000800| 3d 76 3b 0d 09 09 4d 6f | 76 65 54 6f 28 73 2d 3e |=v;...Mo|veTo(s->|
|00000810| 68 2c 73 2d 3e 76 29 3b | 0d 09 09 73 2d 3e 63 6f |h,s->v);|...s->co|
|00000820| 6e 74 69 6e 75 69 6e 67 | 3d 31 3b 0d 09 7d 0d 09 |ntinuing|=1;..}..|
|00000830| 65 6c 73 65 20 7b 0d 09 | 09 2f 2a 20 4e 6f 74 20 |else {..|./* Not |
|00000840| 66 69 72 73 74 20 70 6f | 69 6e 74 2c 20 73 74 61 |first po|int, sta|
|00000850| 72 74 20 66 72 6f 6d 20 | 70 72 65 76 69 6f 75 73 |rt from |previous|
|00000860| 20 70 6f 69 6e 74 20 2a | 2f 0d 09 09 4d 6f 76 65 | point *|/...Move|
|00000870| 54 6f 28 73 2d 3e 68 2c | 73 2d 3e 76 29 3b 0d 09 |To(s->h,|s->v);..|
|00000880| 09 68 2d 3d 73 2d 3e 68 | 3b 0d 09 09 76 2d 3d 73 |.h-=s->h|;...v-=s|
|00000890| 2d 3e 76 3b 0d 09 09 73 | 2d 3e 68 2b 3d 68 3b 0d |->v;...s|->h+=h;.|
|000008a0| 09 09 73 2d 3e 76 2b 3d | 76 3b 0d 09 09 6c 65 6e |..s->v+=|v;...len|
|000008b0| 67 74 68 46 3d 48 79 70 | 6f 74 65 6e 75 73 65 46 |gthF=Hyp|otenuseF|
|000008c0| 28 68 2c 76 29 3b 0d 09 | 09 6c 65 6e 67 74 68 3d |(h,v);..|.length=|
|000008d0| 6c 65 6e 67 74 68 46 3e | 3e 31 36 3b 0d 09 09 2f |lengthF>|>16;.../|
|000008e0| 2a 20 46 69 67 75 72 65 | 20 6f 75 74 20 77 68 65 |* Figure| out whe|
|000008f0| 72 65 20 77 65 20 61 72 | 65 20 69 6e 20 64 61 73 |re we ar|e in das|
|00000900| 68 69 6e 67 20 73 65 71 | 75 65 6e 63 65 20 2a 2f |hing seq|uence */|
|00000910| 0d 09 09 64 61 73 68 44 | 65 62 69 74 3d 73 2d 3e |...dashD|ebit=s->|
|00000920| 70 61 74 68 4c 65 6e 67 | 74 68 46 3e 3e 31 36 3b |pathLeng|thF>>16;|
|00000930| 0d 09 09 64 61 73 68 4f | 6e 3d 31 3b 0d 09 09 64 |...dashO|n=1;...d|
|00000940| 61 73 68 69 6e 67 50 65 | 72 69 6f 64 3d 30 3b 0d |ashingPe|riod=0;.|
|00000950| 09 09 66 6f 72 28 69 3d | 30 3b 73 2d 3e 64 61 73 |..for(i=|0;s->das|
|00000960| 68 5b 69 5d 3e 30 3b 69 | 2b 2b 29 64 61 73 68 69 |h[i]>0;i|++)dashi|
|00000970| 6e 67 50 65 72 69 6f 64 | 2b 3d 73 2d 3e 64 61 73 |ngPeriod|+=s->das|
|00000980| 68 5b 69 5d 3b 0d 09 09 | 64 61 73 68 45 6c 65 6d |h[i];...|dashElem|
|00000990| 65 6e 74 73 3d 69 3b 0d | 09 09 69 66 28 64 61 73 |ents=i;.|..if(das|
|000009a0| 68 45 6c 65 6d 65 6e 74 | 73 25 32 3d 3d 31 29 64 |hElement|s%2==1)d|
|000009b0| 61 73 68 69 6e 67 50 65 | 72 69 6f 64 2a 3d 32 3b |ashingPe|riod*=2;|
|000009c0| 0d 09 09 69 66 28 64 61 | 73 68 69 6e 67 50 65 72 |...if(da|shingPer|
|000009d0| 69 6f 64 3d 3d 30 29 64 | 61 73 68 69 6e 67 50 65 |iod==0)d|ashingPe|
|000009e0| 72 69 6f 64 3d 31 3b 09 | 2f 2a 20 74 6f 20 61 76 |riod=1;.|/* to av|
|000009f0| 6f 69 64 20 64 69 76 69 | 64 65 20 62 79 20 7a 65 |oid divi|de by ze|
|00000a00| 72 6f 20 2a 2f 0d 09 09 | 69 66 28 64 61 73 68 45 |ro */...|if(dashE|
|00000a10| 6c 65 6d 65 6e 74 73 3d | 3d 30 29 7b 0d 09 09 09 |lements=|=0){....|
|00000a20| 4c 69 6e 65 28 68 2c 76 | 29 3b 0d 09 09 7d 0d 09 |Line(h,v|);...}..|
|00000a30| 09 65 6c 73 65 20 7b 0d | 09 09 09 66 6f 72 28 69 |.else {.|...for(i|
|00000a40| 3d 30 3b 3b 69 2b 2b 29 | 7b 0d 09 09 09 09 69 25 |=0;;i++)|{.....i%|
|00000a50| 3d 64 61 73 68 45 6c 65 | 6d 65 6e 74 73 3b 0d 09 |=dashEle|ments;..|
|00000a60| 09 09 09 64 61 73 68 44 | 65 62 69 74 2d 3d 73 2d |...dashD|ebit-=s-|
|00000a70| 3e 64 61 73 68 5b 69 5d | 3b 0d 09 09 09 09 69 66 |>dash[i]|;.....if|
|00000a80| 28 64 61 73 68 44 65 62 | 69 74 3c 30 29 7b 0d 09 |(dashDeb|it<0){..|
|00000a90| 09 09 09 09 64 61 73 68 | 44 65 62 69 74 2b 3d 73 |....dash|Debit+=s|
|00000aa0| 2d 3e 64 61 73 68 5b 69 | 5d 3b 0d 09 09 09 09 09 |->dash[i|];......|
|00000ab0| 62 72 65 61 6b 3b 0d 09 | 09 09 09 7d 0d 09 09 09 |break;..|...}....|
|00000ac0| 09 64 61 73 68 4f 6e 3d | 21 64 61 73 68 4f 6e 3b |.dashOn=|!dashOn;|
|00000ad0| 0d 09 09 09 7d 0d 09 09 | 09 2f 2a 20 44 72 61 77 |....}...|./* Draw|
|00000ae0| 20 64 61 73 68 65 64 20 | 6c 69 6e 65 20 2a 2f 0d | dashed |line */.|
|00000af0| 09 09 09 66 6f 72 28 3b | 3b 69 2b 2b 29 7b 0d 09 |...for(;|;i++){..|
|00000b00| 09 09 09 69 25 3d 64 61 | 73 68 45 6c 65 6d 65 6e |...i%=da|shElemen|
|00000b10| 74 73 3b 0d 09 09 09 09 | 69 66 28 6c 65 6e 67 74 |ts;.....|if(lengt|
|00000b20| 68 3c 3d 73 2d 3e 64 61 | 73 68 5b 69 5d 2d 64 61 |h<=s->da|sh[i]-da|
|00000b30| 73 68 44 65 62 69 74 29 | 7b 0d 09 09 09 09 09 69 |shDebit)|{......i|
|00000b40| 66 28 64 61 73 68 4f 6e | 29 4c 69 6e 65 28 68 2c |f(dashOn|)Line(h,|
|00000b50| 76 29 3b 0d 09 09 09 09 | 09 65 6c 73 65 20 4d 6f |v);.....|.else Mo|
|00000b60| 76 65 28 68 2c 76 29 3b | 0d 09 09 09 09 09 64 61 |ve(h,v);|......da|
|00000b70| 73 68 44 65 62 69 74 2b | 3d 6c 65 6e 67 74 68 3b |shDebit+|=length;|
|00000b80| 0d 09 09 09 09 09 62 72 | 65 61 6b 3b 0d 09 09 09 |......br|eak;....|
|00000b90| 09 7d 0d 09 09 09 09 64 | 65 6c 74 61 3d 73 2d 3e |.}.....d|elta=s->|
|00000ba0| 64 61 73 68 5b 69 5d 2d | 64 61 73 68 44 65 62 69 |dash[i]-|dashDebi|
|00000bb0| 74 3b 0d 09 09 09 09 64 | 68 3d 28 28 6c 6f 6e 67 |t;.....d|h=((long|
|00000bc0| 29 68 2a 64 65 6c 74 61 | 2b 6c 65 6e 67 74 68 2f |)h*delta|+length/|
|00000bd0| 32 29 2f 6c 65 6e 67 74 | 68 3b 0d 09 09 09 09 64 |2)/lengt|h;.....d|
|00000be0| 76 3d 28 28 6c 6f 6e 67 | 29 76 2a 64 65 6c 74 61 |v=((long|)v*delta|
|00000bf0| 2b 6c 65 6e 67 74 68 2f | 32 29 2f 6c 65 6e 67 74 |+length/|2)/lengt|
|00000c00| 68 3b 0d 09 09 09 09 69 | 66 28 64 61 73 68 4f 6e |h;.....i|f(dashOn|
|00000c10| 29 4c 69 6e 65 28 64 68 | 2c 64 76 29 3b 0d 09 09 |)Line(dh|,dv);...|
|00000c20| 09 09 65 6c 73 65 20 4d | 6f 76 65 28 64 68 2c 64 |..else M|ove(dh,d|
|00000c30| 76 29 3b 0d 09 09 09 09 | 68 2d 3d 64 68 3b 0d 09 |v);.....|h-=dh;..|
|00000c40| 09 09 09 76 2d 3d 64 76 | 3b 0d 09 09 09 09 6c 65 |...v-=dv|;.....le|
|00000c50| 6e 67 74 68 2d 3d 64 65 | 6c 74 61 3b 0d 09 09 09 |ngth-=de|lta;....|
|00000c60| 09 64 61 73 68 44 65 62 | 69 74 3d 30 3b 0d 09 09 |.dashDeb|it=0;...|
|00000c70| 09 09 64 61 73 68 4f 6e | 3d 21 64 61 73 68 4f 6e |..dashOn|=!dashOn|
|00000c80| 3b 0d 09 09 09 7d 0d 09 | 09 7d 0d 09 09 6c 65 6e |;....}..|.}...len|
|00000c90| 67 74 68 46 25 3d 28 6c | 6f 6e 67 29 64 61 73 68 |gthF%=(l|ong)dash|
|00000ca0| 69 6e 67 50 65 72 69 6f | 64 3c 3c 31 36 3b 09 09 |ingPerio|d<<16;..|
|00000cb0| 2f 2a 20 72 65 64 75 63 | 65 20 6d 6f 64 20 70 65 |/* reduc|e mod pe|
|00000cc0| 72 69 6f 64 20 74 6f 20 | 61 76 6f 69 64 20 6f 76 |riod to |avoid ov|
|00000cd0| 65 72 66 6c 6f 77 20 2a | 2f 0d 09 09 73 2d 3e 70 |erflow *|/...s->p|
|00000ce0| 61 74 68 4c 65 6e 67 74 | 68 46 2b 3d 6c 65 6e 67 |athLengt|hF+=leng|
|00000cf0| 74 68 46 3b 0d 09 09 73 | 2d 3e 70 61 74 68 4c 65 |thF;...s|->pathLe|
|00000d00| 6e 67 74 68 46 25 3d 28 | 6c 6f 6e 67 29 64 61 73 |ngthF%=(|long)das|
|00000d10| 68 69 6e 67 50 65 72 69 | 6f 64 3c 3c 31 36 3b 2f |hingPeri|od<<16;/|
|00000d20| 2a 20 72 65 64 75 63 65 | 20 6d 6f 64 20 70 65 72 |* reduce| mod per|
|00000d30| 69 6f 64 20 66 6f 72 20 | 73 70 65 65 64 20 2a 2f |iod for |speed */|
|00000d40| 0d 09 7d 0d 09 0d 09 2f | 2a 20 44 72 61 77 20 73 |..}..../|* Draw s|
|00000d50| 79 6d 62 6f 6c 20 2a 2f | 0d 09 53 65 74 52 65 63 |ymbol */|..SetRec|
|00000d60| 74 28 26 72 2c 30 2c 30 | 2c 73 2d 3e 73 79 6d 62 |t(&r,0,0|,s->symb|
|00000d70| 6f 6c 57 69 64 74 68 2c | 73 2d 3e 73 79 6d 62 6f |olWidth,|s->symbo|
|00000d80| 6c 57 69 64 74 68 29 3b | 0d 09 4f 66 66 73 65 74 |lWidth);|..Offset|
|00000d90| 52 65 63 74 28 26 72 2c | 2d 72 2e 72 69 67 68 74 |Rect(&r,|-r.right|
|00000da0| 2f 32 2c 2d 72 2e 62 6f | 74 74 6f 6d 2f 32 29 3b |/2,-r.bo|ttom/2);|
|00000db0| 0d 09 4f 66 66 73 65 74 | 52 65 63 74 28 26 72 2c |..Offset|Rect(&r,|
|00000dc0| 73 2d 3e 68 2c 73 2d 3e | 76 29 3b 0d 09 46 69 6c |s->h,s->|v);..Fil|
|00000dd0| 6c 4f 76 61 6c 28 26 72 | 2c 62 6c 61 63 6b 50 61 |lOval(&r|,blackPa|
|00000de0| 74 74 65 72 6e 29 3b 0d | 09 46 6f 72 65 43 6f 6c |ttern);.|.ForeCol|
|00000df0| 6f 72 28 6f 6c 64 43 6f | 6c 6f 72 29 3b 0d 09 53 |or(oldCo|lor);..S|
|00000e00| 65 74 50 65 6e 53 74 61 | 74 65 28 26 70 65 6e 53 |etPenSta|te(&penS|
|00000e10| 74 61 74 65 29 3b 0d 09 | 53 65 74 50 6f 72 74 28 |tate);..|SetPort(|
|00000e20| 6f 6c 64 50 6f 72 74 29 | 3b 0d 7d 0d 09 00 00 00 |oldPort)|;.}.....|
|00000e30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e80| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00000e90| 09 09 09 09 76 2d 3d 64 | 76 3b 0d 09 09 09 09 6c |....v-=d|v;.....l|
|00000ea0| 65 6e 67 74 68 2d 3d 64 | 65 6c 74 61 3b 0d 09 09 |ength-=d|elta;...|
|00000eb0| 08 50 6c 6f 74 58 59 2e | 63 6f 02 00 00 00 54 45 |.PlotXY.|co....TE|
|00000ec0| 58 54 4b 41 48 4c 00 00 | 00 00 00 00 00 00 00 00 |XTKAHL..|........|
|00000ed0| 00 00 54 45 58 54 4b 41 | 48 4c 00 00 00 00 00 00 |..TEXTKA|HL......|
|00000ee0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ef0| 00 00 a7 e5 d5 c4 00 00 | 00 00 00 00 01 7e 2a 20 |........|.....~* |
|00000f00| 44 72 61 77 20 73 79 6d | 62 6f 6c 20 2a 2f 0d 09 |Draw sym|bol */..|
|00000f10| 53 65 74 52 65 63 74 28 | 26 72 2c 30 2c 30 2c 73 |SetRect(|&r,0,0,s|
|00000f20| 2d 3e 73 79 6d 62 6f 6c | 57 69 64 74 68 2c 73 2d |->symbol|Width,s-|
|00000f30| 3e 73 79 6d 62 6f 6c 57 | 69 64 74 68 29 3b 0d 09 |>symbolW|idth);..|
|00000f40| 4f 66 66 73 65 74 52 65 | 63 74 28 26 72 2c 2d 72 |OffsetRe|ct(&r,-r|
|00000f50| 2e 72 69 67 68 74 2f 32 | 2c 2d 72 2e 62 6f 74 74 |.right/2|,-r.bott|
|00000f60| 6f 6d 2f 32 29 3b 0d 09 | 4f 66 66 73 65 74 52 65 |om/2);..|OffsetRe|
|00000f70| 63 74 28 26 72 2c 73 2d | 3e 68 2c 73 2d 3e 76 29 |ct(&r,s-|>h,s->v)|
|00000f80| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 14 |...H..Mo|naco....|
|00000f90| 00 01 ac 50 00 0a 00 00 | 00 00 00 00 00 00 6f 78 |...P....|......ox|
|00000fa0| 80 00 00 24 00 01 00 06 | 00 04 01 2c 00 00 01 dd |...$....|...,....|
|00000fb0| 02 3d 01 2c 00 00 01 dd | 02 3d a4 aa 9a aa 00 00 |.=.,....|.=......|
|00000fc0| 02 a4 00 00 02 a4 00 00 | 02 0f 01 00 00 00 01 00 |........|........|
|00000fd0| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 2c 2d 2c |...L...L|...2.,-,|
|00000fe0| 04 6a 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.j.....2|..MPSR..|
|00000ff0| 00 0a 03 ed ff ff 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+